<?php
/**
 * 系統名稱: Lotto 系統
 * 檔案說明: 專案管理-修改
 * $Author$
 * $Id$
 *
 */
if (!defined("Utility_lib_include")){
    define("Utility_lib_include", 1);

/**
 * 取得關連 tabble 文字，產生 Select 下拉選單
 * @param	strFieldName：下拉選單欄位名稱
 * @param	strTable：關連 Table
 * @param	intID：某筆已選記錄序號
 * @return	Select 下拉選單的文字
*/
	function RelationType ($strFieldName, $strTable, $intID){
		return RelationType3 ($strFieldName, $strTable, $intID, "*", "");
	}

/**
 * 取得關連 tabble 文字，產生 Select 下拉選單
 * @param	strFieldName：下拉選單欄位名稱
 * @param	strTable：關連 Table
 * @param	intID：某筆已選記錄序號
 * @param	sqlField：欲取得該 Table欄位
 * @return	Select 下拉選單的文字
*/
	function RelationType2 ($strFieldName, $strTable, $intID, $sqlField){
		return RelationType3 ($strFieldName, $strTable, $intID, $sqlField, "");
	}

/**
 * 取得關連 tabble 文字，產生 Select 下拉選單
 * @param	strFieldName：下拉選單欄位名稱
 * @param	strTable：關連 Table
 * @param	intID：某筆已選記錄序號
 * @param	sqlField：欲取得該 Table欄位
 * @return	Select 下拉選單的文字
*/
	function RelationType3 ($strFieldName, $strTable, $intID, $sqlField, $strEvent){
		global $_Conn, $$_Conn;
		$strSQL = "select ".$sqlField." from ".$strTable." order by ID";
		
		$strCon = "";
		if($RS = @PMA_mysql_query($strSQL, $$_Conn)){
			if(@PMA_mysql_num_rows($RS) > 0){
				$strCon = "<select name=\"".$strFieldName."\" ".$strEvent.">\n";
				$strCon .= "<option value=\"\">--select--</option>\n";
				while($Rows = PMA_mysql_fetch_object($RS)){
					$strCon .= "<option value=\"".$Rows -> ID."\" ".(($Rows -> ID == $intID)?"selected":"").">".$Rows -> Value."</option>\n";
				}
				$strCon .= "</select>\n";
			}
			@mysql_free_result($RS);
		}

		return (empty($strCon))?"No Data!!":$strCon;
	}


/**
 * 取得關連 tabble 文字，只取得一筆記錄
 * @param	strTable：關連 Table
 * @param	intID：該筆記錄序號
 * @return	加上的文字
*/
	function GetRelationType($strTable, $intID){
		return GetRelationType3($strTable,"ID = ".$intID,"*");
	}

/**
 * 取得關連 tabble 文字，只取得一筆記錄
 * @param	strTable：關連 Table
 * @param	intID：該筆記錄序號
 * @param	sqlField：欲取得該 Table欄位
 * @return	加上的文字
*/
	function GetRelationType2($strTable, $intID, $sqlField){
		return GetRelationType3($strTable,"ID in (".$intID.")",$sqlField);
	}

/**
 * 取得關連 tabble 文字，只取得一筆記錄
 * @param	strTable：關連 Table
 * @param	strSeach：尋找條件
 * @param	sqlField：欲取得該 Table欄位
 * @return	加上的文字
*/
	function GetRelationType3($strTable, $strSeach, $sqlField){
		global $_Conn, $$_Conn;
		$strSQL = "select ".$sqlField." from ".$strTable." where ".$strSeach." limit 0,1";			
		if($RS = @PMA_mysql_query($strSQL, $$_Conn)){
			if(PMA_mysql_num_rows($RS) > 0){
				$Rows = @PMA_mysql_fetch_object($RS);
				@mysql_free_result($RS);
				return $Rows -> Value;
			}
		}
		return "";
	}


/**
 * 在傳入文字裡加上隱藏 tag
 * @param	strString：要加上 tag 的文字
 * @return	加上 tag 的文字
*/
	function RandAddTag($strString) {
		$intLang = strlen($strString);
		$aa = array("wqw", "efsdf", "dgsew", "d32ew", "dfwe23", "dsf#2", "dfrnh", "vdfre4", "DF3@", "dgfs", "gfbd", "trfdd4");
		$bb = array("DSS#$", "SDF@!", "vf&^", "DFV#", "FD^%", "CSw@@", "@343", "vd#fr4", "D!F@", "d&gs", "gf21bd", "trf#@d4");
		srand((double)microtime()*1000000);
		for($i = 0; $i < $intLang; $i++){
			$arrD[$i] = substr($strString, $i, 1);
			$ci = (rand()*100) % 3;
			if($ci == 0){
				$ai = (rand()*100) % 12;
				$bi = (rand()*100) % 12;
				if($ai < 0)$ai *= -1;
				$arrD[$i] .= "<".$aa[$ai]." ".$bb[$bi].time()." />";
			}
		}
		return join("", $arrD);
	}  // RandAddTag() //


/**
 * 將文字轉換成 unicode html entity 編碼方式，ex: &#xxxxx;
 * @param	strString 要轉換文字
 * @return	回傳unicode html entity 的文字
*/
		function ToUnicodeHTMLEntity($strString){
			global $_intLang;
			switch($_intLang){
				case 1:
					$strString = iconv("BIG5", "UTF-8", $strString);
					break;

				case 3:
					$strString = iconv("GB2312", "UTF-8", $strString);
					break;

				default:
					return $strString;
					break;
			}
			$intLen = strlen($strString);

			$strCon = (string)base_convert(bin2hex(substr($strString, 0, 1)), 16, 2);
			$strCon = substr($strCon, $intLen, strlen($strCon) - $intLen);
			for($i = 1; $i < $intLen; $i++){
				$strTmp = (string)base_convert(bin2hex(substr($strString, $i, 1)), 16, 2);
				$strTmp = substr($strTmp, 2, strlen($strTmp) - 2);
				$strCon .= $strTmp;
			}
			return "&#".bindec($strCon).";";
		}


	function UnicodeHTMLEntity($strString){
		$intLen = strlen($strString);
		$strEString = "";
		for($i = 0; $i < $intLen; $i++){
			if(bin2hex(substr($strString, $i, 1)) >= '80'){
				$i++;
				$strEChar = substr($strString, $i - 1, 2);
			}else{
				$strEChar = substr($strString, $i, 1);
			}
			if(strlen($strEChar) > 1)$strEChar = ToUnicodeHTMLEntity($strEChar);
			$strEString .= $strEChar;
		}
		return $strEString;
	}
//-------------------------------------------------------//
//Utility_lib End
}
?>